package com.zr.d_c.dao;

import java.util.List;

import com.zr.d_c.model.Order;
/**
 * 订单相关的功能
 * @author Administrator
 *
 */
public interface OrderDao {
	/**
	 * 通过sid查询到当前商家下的订单总数
	 * @param sid 商家的id
	 * @return 总的订单数目
	 */
	public int selectOrdersCount(int sid);
	/**
	 * 通过商家的id获取当前的所有订单
	 * @param sid 商家id
	 * @param start
	 * @param pageSize
	 * @return
	 */
	public List<Order> selectOrderBySid(int sid,int start,int pageSize);
	/**
	 * 通过商家的id获取当前的所有订单
	 * @param sid 
	 * @param start
	 * @param pageSize
	 * @param searchename  需要查询的客户的姓名
	 * @return
	 */
	public List<Order> selectOrderBySid(int sid,int start,int pageSize,String searchname);
	/**
	 * 商家选择订单编号接受订单
	 * @param oid 订单编号
	 * @return 成功为0，失败为1
	 */
	public int sellerAcceptOrderByOid(int oid);
	/**
	 * 获取商家的历史订单
	 * @param sid商家的id
	 * @param start
	 * @param pageSize
	 * @return 返回订单的集合
	 */
	public List<Order> selectHistoryOrderBySid(int sid,int start,int pageSize);
	/**
	 * 获取被查询姓名的客户的订单
	 * @param sid 商家的id
	 * @param start 起始页码
	 * @param pageSize 每一页消息条数
	 * @param searchname 搜索的客户的姓名
	 * @return 返回订单的集合
	 */
	public List<Order> selectHistoryOrderBySid(int sid,int start,int pageSize,String searchname);
	/**
	 * 通过商家的id查到当前商家的所有历史订单
	 * @param sid 商家的id	
	 * @return 返回总的订单的数目
	 */
	public int selectHistoryOrdersCount(int sid);
/**
	 * 通过客户的id获取当前客户的该页码的当前订单
	 * @param cid 客户id
	 * @param start 查询其实带你
	 * @param pageSize 每页多少条
	 * @return 客户订单信息
	 */
	public List<Order> selectCurrentOrderByCid(int cid,int start,int pageSize);
	
	/**
	 * 通过客户id获取当前订单的订单总数
	 * @param cid 客户id
	 * @return 当前订单总数
	 */
	public int selectCountCurrentOrderByCid(int cid);
	
	/**
	 * 添加新的订单
	 * @param o 订单信息
	 * @return 1成功 0失败
	 */
	public int insertOrder(Order o);
	
	/**
	 * 通过客户的id获取当前客户的该页码的历史订单
	 * @param cid 客户id
	 * @param start 查询其实带你
	 * @param pageSize 每页多少条
	 * @return 客户订单信息
	 */
	public List<Order> selectHistoryOrderByCid(int cid,int start,int pageSize);
/**
 * 通过客户的id和查询的商家名获取当前客户的该页码的历史订单
 * @param cid客户id
 * @param start 查询其实页码
 * @param pageSize 每页条数
 * @param searchname 查询的商家名
 * @return 客户订单
 */
	public List<Order> selectHistoryOrderByCid(int cid,int start,int pageSize,String searchname);
	/**
	 * 通过客户id获取历史订单的订单总数
	 * @param cid 客户id
	 * @return 历史订单总数
	 */
	public int selectCountHistoryOrderByCid(int cid);
	/**
	 * 通过订单客户id和搜索的名字获取历史订单的订单总数
	 * @param cid 客户的id
	 * @param searchname 商家的名字
	 * @return 历史订单关于商家的总数
	 */
	public int selectCountHistoryOrderByCid(int cid,String searchname);
	
	/**
	 * 通过订单id修改删除状态
	 * @param oid 订单id
	 * @return 1成功  0失败
	 */
	public int updateOisdeleteByOid(int oid);
	
	/**
	 * 通过订单id修改评论状态
	 * @param oid 订单id
	 * @return 1成功  0失败
	 */
	public int updateOisevaluateByOid(int oid);
	
	/**
	 * 通过订单id改变订单的状态为撤销
	 * @param oid 订单id
	 * @return 1成功 0失败
	 */
	public int updateOtemp1(int oid);
}
